package com.itbac.simglemachinelimiting.aop;

import java.lang.annotation.*;
import java.util.concurrent.TimeUnit;

/**
 * 自定义限流注解
 * @author: BacHe
 * @email: 1218585258@qq.com
 * @Date: 2020/8/15 22:26
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface BacRateLimiter {

    //QPS,每秒允许往令牌桶添加令牌的数据。
    double permitsPerSecond();

    //获取令牌最大的等待时间
    long timeout();

    //时间单位：默认：毫秒
    TimeUnit timeunit() default TimeUnit.MILLISECONDS;

    //没有获取到令牌，被限流的提示语
    String msg() default "系统繁忙,请稍后再试!";



}
